// 求斐波那契数列：1，1，2，3，5，8... 求第20位的值。


// 递归 fb(n) = fb(n-1)+fb(n-2)
function fb(n) {
  if (n == 1 || n == 2) return 1;
  return fb(n - 1) + fb(n - 2);
}

function fb2(n) {
  // 斐波那契数列前两个值都为1
  if (n == 1 || n == 2) return 1;
  // p1和p2表示前面的两个值
  let p1 = 1;
  let p2 = 1
  let val;
  for (let i = 3; i <= n; i++) {
    val = p1 + p2;
    p1 = p2;
    p2 = val;
  }
  return val;
}
console.log(fb(20));
console.log(fb2(20));